python上位机开发,写电机类 您所在的位置:网站首页 pyqt5 tcp通讯 python上位机开发,写电机类

python上位机开发,写电机类

2023-06-28 06:13| 来源: 网络整理| 查看: 265

当我们在界面上想驱动一个电机的启动和停止。不是简单的设置两个按钮就可以的。通常我们还要了解这些电气的其它一些状态和一些保护措施。就是所谓的输入信号,比如合闸信号,运行信号,故障信号,过流信号,跑偏信号(皮带机用)。如果想根据电流来改变频率,还要有输出设置。这些情况在实际项目中如何处理呢?我通常喜欢写个类,代码如下:

from PyQt5.QtCore import QObject,pyqtSignal class Motor(QObject): start_motor_signal=pyqtSignal(int,bool) input_signal=pyqtSignal(int,int,int) def __init__(self,*args,**kwargs): super(Motor, self).__init__(*args,**kwargs) self.is_on=None self.running = None self.error = None self.input_signal.connect(self.get_input_singals) def get_input_singals(self,is_on:int,running:int,eror:int)->None:#合闸,运行,故障 self.is_on=is_on self.running=running self.error=eror def start_stop_mortor(self,addr:int,val:bool): if self.running: return self.start_motor_signal.emit(addr,val) if __name__=='__main__': def run_motor(addr,data): if data==True: print(f'{addr}-motor is running') else: print(f'{addr}-mortor in stopping') mortor1=Motor() mortor1.start_motor_signal.connect(run_motor) mortor1.input_signal.emit(1,0,1) # print(mortor1.is_on) # print(mortor1.running) # print(mortor1.error) import time import random while True: a=random.randint(1,10) b=random.randint(0,1) mortor1.start_stop_mortor(MOTOR_6,b) time.sleep(1)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有